1. Technical Field
The present invention relates in general to the data processing field. More specifically, the present invention relates to the field of object oriented frameworks.
2. Background Art
Since the dawn of the computer age, computer systems have become indispensable in many fields of human endeavor including engineering design, machine and process control, and information storage and access. In the early days of computers, companies such as banks, industry, and the government would purchase a single computer which satisfied their needs, but by the early 1950""s many companies had multiple computers and the need to move data from one computer to another became apparent. At this time computer networks began being developed to allow computers to work together.
Computer networks allow low cost personal computer systems to connect to larger computer systems to perform tasks that such low cost systems could not perform alone. Most companies in the United States today have one or more computer networks. The topology and size of the networks may vary according to the computer systems being networked and the design of the system administrator. It is very common, in fact, for companies to have multiple computer networks. Many large companies have a sophisticated blend of local area networks (LANs) and wide area networks (WANs) that effectively connect most computers in the company to each other.
Networked computers are capable of processing special software known as network applications. A network application is computer software that is intended to be run on several different computer systems that are interconnected on a network. One example of a network application is system administration software that makes software updates on many different computer systems on the network. Known network applications are custom computer programs that are tailored to performing specific, predefined operations. If new types of operations need to be added to the network application, the network application code must be manually reprogrammed to include these new operations. Modifying the network application is necessary anytime the function of the network application needs to be changed. Without a mechanism for easily and efficiently extending the function of a network application, the time and resources required to add functions to network applications will be excessive.
According to the present invention, an object oriented framework mechanism for distributing and managing operations of a network application defines classes and class relationships that provide for easily extending the framework to define new heterogeneous operations in a network application. Core functions of the framework mechanism support operation management functions, which may include status reporting, error recovery, scheduling, reexecution of previously-defined operations, persistence of operations, and sharing of operations between users. The framework mechanism provides extensible functions that are extended by a user to define a network application. A network application can thus be defined by a user that supports any or all of the above-mentioned operation management functions without explicitly providing these functions, because these functions are part of the core function of the framework mechanism.